Systems, devices, and methods for generating a domain name using a user interface

ABSTRACT

Embodiments relate to systems, devices, computer-readable media, and computer-implemented methods for generating domain name suggestions by receiving an input string via a user interface, determining an alternative of the input string, determining affixes of the input string, determining top level domains associated with the input string, determining registration availability of domain names including one-step string sequences from the input string based on the alternative input string, the affixes of the input string, and the top level domains associated with the input string, and generating a display for the user interface, where the display includes: the input string, the alternative of the input string, the affixes of the input string, and the top level domains associated with the input string; and indications of the registration availability of the domains names including the one-step string sequences.

RELATED APPLICATION

The present application is continuation of U.S. patent application Ser.No. 15/663,402, filed Jul. 28, 2017; which claims the benefit of, andpriority to, U.S. Provisional Patent Application No. 62/448,990,entitled, “SYSTEMS, DEVICES, AND METHODS FOR GENERATING A DOMAIN NAMEUSING A USER INTERFACE” filed Jan. 21, 2017, the entireties of which arehereby incorporated by reference.

BACKGROUND

The Domain Name System (“DNS”) is the part of the Internetinfrastructure that translates human-readable domain names into theInternet Protocol (“IP”) numbers needed to establish TCP/IPcommunication over the Internet. DNS allows users to refer to web sites,and other resources, using easier to remember domain names, such as“www.example.com”, rather than the numeric IP addresses associated witha website, e.g., 123.4.56.78, and assigned to computers on the Internet.Each domain name can be made up of a series of character strings (e.g.,labels) separated by dots. The right-most label in a domain name isknown as the top-level domain (“TLD”). Examples of well-known TLDs are“COM”; “NET”; “ORG”; and the like. Each TLD supports second-leveldomains, listed immediately to the left of the TLD, e.g., the “example”level in “www.example.com”. Each second-level domain can include anumber of third-level domains located immediately to the left of thesecond-level domain, e.g. the “www” level in www.example.com.

Generally, new domain names can be registered by a user if the domainname is not already owned. However, a user may attempt to register adesirable domain name, only to discover that the domain name has alreadybeen registered by someone else and is no longer available. Thus, a usermay have to submit several domain name registration requests beforefinding a domain name that is available, costing the user's time,processing resources of the user's devices, processing resources of adatabase of domain name information (e.g., a domain name registry) thatthe user queries to determine availability, and network and processingresources of devices that facilitate communication between the user andthe database.

Generally, there may be suitable alternative domain names that areunregistered and available, but of which the user is unaware.Accordingly, devices processes are needed for effectively identifyingand communicating suitable alternatives to domain name registrationusers without causing excessive costs to the user's time and thesystem's resources.

SUMMARY

The present disclosure relates to methods, systems, devices, andcomputer-readable media for generating domain name suggestions byreceiving an input string via a user interface, determining analternative of the input string, determining affixes of the inputstring, determining top level domains associated with the input string,determining registration availability of domain names including one-stepstring sequences from the input string based on the alternative inputstring, the affixes of the input string, and the top level domainsassociated with the input string, and generating a display for the userinterface, where the display includes: the input string, the alternativeof the input string, the affixes of the input string, and the top leveldomains associated with the input string; and indications of theregistration availability of the domains names including the one-stepstring sequences.

In some embodiments, generating domain name suggestions can furtherinclude tokenizing the input string into keywords, where determining thealternative of the input string includes determining an alternative foreach keyword.

In further embodiments, generating domain name suggestions can furtherinclude receiving an initial top level domain, where determining theavailability of the domain names includes determining availability of adomain name including the input string and the initial top level domain,and the display further includes an indication of the availability ofthe domain name.

In other embodiments, generating domain name suggestions can furtherinclude receiving, via the user interface, a selection of a one-stepstring sequence of the one-step string sequences, setting the selectionas a new input string, tokenizing the new input string into keywords,determining an alternative for each keyword, determining affixes of thenew input string, determining top level domains associated with the newinput string, determining registration availability of second domainnames including second one-step string sequences from the new inputstring based on the alternatives of the keywords, the affixes of the newinput string, and the top level domains associated with the new inputstring, and generating a second display for the user interface, wherethe second display includes: the new input string, the alternatives ofthe plurality of keywords, the affixes of the new input string, and thetop level domains associated with the new input string; and indicationsof the registration availability of the second domains names includingthe second one-step string sequences.

In some implementations, generating domain name suggestions can furtherinclude receiving an initial top level domain, where determining theavailability of the second domain names includes determiningavailability of a domain name including the new input string and theinitial top level domain; and the second display further includes anindication of the availability of the domain name.

In other implementations, the domain name can be available and theprocesses can further include receiving an indication, via the userinterface, to register the domain name, and navigating the userinterface to a webpage to register the domain, where the domain name isregistered at a domain name registry.

In further implementations, the input string can be a single characterand determining the alternative, determining the affixes, determiningthe top level domains, determining the availability of the domain names,and generating the display are performed each time a subsequentcharacter is received via the user interface.

In some embodiments, the input string can be multiple characters anddetermining the alternative, determining the affixes, determining thetop level domains, determining the availability of the domain names, andgenerating the display are performed in response to the input stringbeing entered via the user interface.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate embodiments of the presentteachings and together with the description, serve to explain theprinciples of the present teachings.

FIG. 1 illustrates an example of a graphical user interface showing afirst image in a sequence for domain-name generation, according to anembodiment.

FIG. 2 illustrates an example of a graphical user interface showing asecond image in a sequence for domain-name generation, according to anembodiment.

FIG. 3 illustrates an example of a graphical user interface showing athird image in a sequence for domain-name generation, according to anembodiment

FIG. 4 illustrates an example of a graphical user interface showing afourth image in a sequence for domain-name generation, according to anembodiment.

FIG. 5 illustrates an example of a graphical user interface showing afifth image in a sequence for domain-name generation, according to anembodiment.

FIG. 6 illustrates an example of a graphical user interface showing asixth image for domain-name generation, according to an embodiment.

FIG. 7 illustrates an example of a process for generating and displayingdomain names that are available, according to an embodiment.

FIG. 8 illustrates an example of a graphical user interface showing afirst image in a sequence, according to an embodiment.

FIG. 9 illustrates an example of a graphical user interface showing asecond image in a sequence, according to an embodiment.

FIG. 10 illustrates an example of a graphical user interface showing athird image in a sequence, according to an embodiment.

FIG. 11 illustrates an example of a graphical user interface showing afirst image in a sequence, according to an embodiment.

FIG. 12 illustrates an example of a graphical user interface showing asecond image in a sequence, according to an embodiment.

FIG. 13 illustrates an example of a graphical user interface showing athird image in a sequence, according to an embodiment.

FIG. 14 illustrates an example of a graphical user interface of a mobiledevice showing a first image in a sequence, according to an embodiment.

FIG. 15 illustrates an example of a graphical user interface of a mobiledevice showing a second image in a sequence, according to an embodiment.

FIG. 16 illustrates an example of a graphical user interface of a mobiledevice showing a third image in a sequence, according to an embodiment.

FIG. 17 illustrates an example of a graphical user interface of a mobiledevice showing a first image in a sequence, according to an embodiment.

FIG. 18 illustrates an example of a graphical user interface of a mobiledevice showing a second image in a sequence, according to an embodiment.

FIG. 19 illustrates an example of a graphical user interface of a mobiledevice showing a third image in a sequence, according to an embodiment.

FIG. 20 illustrates an example of a graphical user interface of a mobiledevice showing a first image in a sequence, according to an embodiment.

FIG. 21 illustrates an example of a graphical user interface of a mobiledevice showing a second image in a sequence, according to an embodiment.

FIG. 22 illustrates an example of a graphical user interface of a mobiledevice showing a third image in a sequence, according to an embodiment.

FIG. 23 illustrates an example of a graphical user interface of a mobiledevice showing a fourth image in a sequence, according to an embodiment.

FIG. 24 illustrates an example of a graphical user interface of a mobiledevice showing a first image in a sequence, according to an embodiment.

FIG. 25 illustrates an example of a graphical user interface of a mobiledevice showing a second image in a sequence, according to an embodiment.

FIG. 26 illustrates an example of a graphical user interface of a mobiledevice showing a third image in a sequence, according to an embodiment.

FIG. 27 illustrates an example of a graphical user interface of a mobiledevice showing a fourth image in a sequence, according to an embodiment.

FIG. 28 is a diagram illustrating an example of a hardware system fordomain name generation, according to an embodiment.

DETAILED DESCRIPTION

The following detailed description refers to the accompanying drawings.Wherever convenient, the same reference numbers are used in the drawingsand the following description to refer to the same or similar parts.While several examples of embodiments and features of the presentdisclosure are described herein, modifications, adaptations, and otherimplementations are possible, without departing from the spirit andscope of the present disclosure. Accordingly, the following detaileddescription does not limit the present disclosure. Instead, the properscope of the disclosure is defined by the appended claims.

The present disclosure is directed to generating and displaying domainnames that are available to be registered in a graphical user interface,which may be thought of as “alternatives” to a domain name that isdesired by a user, but is unavailable to be registered. In variousimplementations, domain name alternatives can be generated by receivingan input string of one or more characters from a user (e.g., the desireddomain name), tokenizing the input string into one or more keywords,generating relevant affixes for the one or more keywords, generatingrelevant keyword alternatives for the one or more keywords, generatingTLD alternatives for the one or more keywords, determining one-stepstring sequences based on generated affixes and alternatives, anddetermining the availability of domain names corresponding to theone-step string sequences. Using a graphical user interface, asdescribed and shown in the examples herein, indications of available andunavailable domain names corresponding to the one-step string sequencescan be displayed to a user. Additionally, the graphical user interfacecan be dynamically updated (e.g., in real time) based on changes to theinput string, selection of a one-step string sequence, changes to adomain name generation setting, and the like.

As used herein, tokenizing can refer to a process of segmenting rawstring input into one or more keywords. For example, raw string inputcan include multiple words as a single string with no spaces, and theprocess of tokenizing the raw string input can include determining themultiple words within the string and separating the words into multiplekeywords.

As further used herein, a one-step string sequence can represent astring sequence that is one change different than an input string. Forexample, the input string can be from a user (e.g., a domain namedesired by the user), and a one-step string sequence can represent onechange to the input string, such as a change by adding an affix to afirst keyword in the input string or the last keyword in the inputstring, a change by replacing a keyword with an alternative, or a changeby replacing the TLD in the input string. In various implementations, agraphical user interface may display the input string and a one-stepstring sequence(s), such that if the user selects a displayedrepresentation of a one-step string sequence, the selected one-stepstring sequence can become the new input string, e.g., as shown ordisplayed by the graphical user interface.

This disclosure provides a specific, structured graphical user interfacethat is paired with the described functionality, which is directlyrelated to the graphical user interface's structure, that is addressedto and resolves several technical problems associated with domain namealternatives, such as problems related to displaying limited domain namealternatives, not displaying alternatives in real time, displayingdomain name alternatives in a non-user friendly and/or static interface,and the like, which are problems in the prior state of the art.Additionally, this disclosure provides examples of graphical userinterfaces that can be used with the larger screen areas of displays fordesktop or laptop devices and examples of graphical user interfaces thatcan be used with the smaller screen areas of mobile device (e.g., smartphone or tablet) displays. The example graphical user interfacesadditionally address and resolve problems related to how to efficientlyand effectively display domain name alternatives using the availablespace of a desktop device display or a mobile device display.

FIG. 1 illustrates an example of a graphical user interface 100 showinga first image in a sequence 110, according to an embodiment. The firstimage in the sequence 110 can, in some embodiments, represent an initialdisplay presented to a user with a default TLD 120 (e.g. .COM, as shown)and a blank input string line 130. The user can select to change the TLDand/or the user can begin entering an input string on the blank inputstring line 130. In various embodiments, the system may dynamically andsequentially change the images displayed on the graphical user interface100 (for example, as shown in FIGS. 1-5) in real-time reaction orresponse to information entered by the user, such as characters or wordsor the pressing of an enter key. In various implementations, a real-timereaction or response is one that occurs within about 400 milliseconds orless.

FIG. 2 illustrates an example of the graphical user interface 100showing a second image in a sequence 210, according to an embodiment.The second image in the sequence 210 can, in some embodiments, representa dynamically generated display presented to the user after an inputstring is entered into the input string line 130 (e.g., “ME,” as shownin FIG. 2).

The dynamically generated display can include the current string“ME.COM.” Additionally, the domain name “ME.COM” may not be available tobe registered, which is indicated to the user in an easily recognizablemanner, for example, by the lighter color of the text “ME.COM” in theembodiment shown in FIG. 2. In further embodiments, other methods ofindicating a domain name is available or not available can include, butare not limited to, using different colors (e.g., gray for unavailabledomain names and green for available domain names), underliningavailable domain names, or other like visual indicators. Someimplementations may also include aural indicators.

The dynamically generated display can also include suggested affixes(e.g., zero or more prefixes 230 and/or suffixes 240) to the keyword,alternatives to the keyword 250, and alternatives to the TLD 260.

As shown in the example in FIG. 2, the prefixes 230 are displayed beforethe keyword with an indication of whether each the prefixes 230 areavailable for registration. In the example shown, none of the one-stepstring sequences using the prefixes 230 are available for registration,as indicated in this example by their light color and the dashed outlineof their letters. In other words, the graphical user interface 100indicates that the domain names “FORME.COM,” “HELPME.COM,” “CALLME.COM,”etc. are not available.

As also shown in the example in FIG. 2, the suffixes 240 are displayedafter the keyword with an indication of whether each the suffixes 240are available for registration. In the example shown using light colorand dashed letter outline indicators, none of the one-step stringsequences using the suffixes 240 are available for registration. Forexample, the domain name “MEUP.COM” is not available.

As further shown in the example in FIG. 2, zero or more suggestedalternative to the keyword is displayed under the keyword and is notavailable for registration. In this example, on alternative, “MES,” isdisplayed under the keyword but is not available for registration asindicated by the color and outline of the letters.

As additionally shown in the example in FIG. 2, the alternatives to theTLD 260 are displayed under the TLD in the current string usingavailability indicator(s). In this example, some of the one-step stringsequences using the alternative TLDs are available for registration asdomain names, such as “ME.TEL,” “ME.TODAY,” “ME.LINK,” etc. Thisavailability for registration is indicated by the bolder/darker color ofthe letters/text in the example of FIG. 2, but can be indicated usingother techniques, as described above.

As also shown in the example in FIG. 2, a remove keyword button 270 isdisplayed under the keyword. If the user selects the remove keywordbutton 270, the corresponding keyword can be removed from the currentstring, and the dynamically generated display can be updated to showaffixes, alternatives, etc. determined based on a current string thatdoes not include the removed keyword. In the example shown in FIG. 2,“ME” is the only keyword in the current string, so if the remove keywordbutton was selected, the dynamically generated display may return to theinitial display, as shown in FIG. 1.

FIG. 3 illustrates an example of the graphical user interface 100showing a third image in a sequence 310, according to an embodiment. Thethird image in the sequence 310 can, in some embodiments, represent adynamically generated display presented to the user after the user addsadditional characters to the input string (e.g., adding “ET” after “ME”to make the input string “MEET,” as shown).

The dynamically generated display can include the current string“MEET.COM.” Additionally, the domain name “MEET.COM” may not beavailable to be registered, as is indicated in this example by the lightcolor and dashed outlines of the letters displayed in “MEET.COM.”

The dynamically generated display shown can also include zero or moresuggested affixes (e.g., prefixes 320 and suffixes 330) to the keyword,zero or more alternatives to the keyword 340, and zero or morealternatives to the TLD 350, similar to the example shown in FIG. 2.However, the affixes and alternatives can be determined based on the newkeyword MEET, instead of the keyword ME as shown in FIG. 2, in reactionto the user entering the additional characters “ET” to form “MEET.”Accordingly, the affixes and alternatives are different than the affixesand alternatives shown in FIG. 2.

FIG. 4 illustrates an example of the graphical user interface 100showing a fourth image in a sequence 410, according to an embodiment.The fourth image in the sequence 410 can, in some embodiments, representa dynamically generated display presented to the user after the useradds additional characters to the input string (e.g., “MEETADVISORS,” asshown).

The dynamically generated display can include the current string“MEETADVISORS.COM.” Additionally, the domain name “MEETADVISORS.COM” maynot be available to be registered.

As in the example shown in FIG. 4, the input string can include twokeywords “MEET” and “ADVISORS.” Accordingly, the system may recognizethat the input string contains two keywords and cause the dynamicallygenerated display to display the two keywords separately, even if theyare entered as a single string or word by the user. Similarly, thesystem may analyze an input string to recognize that the input stringcontains three or more keywords and may cause the dynamically generateddisplay to display the three or more keywords separately.

The dynamically generated display can also include prefixes to the firstkeyword 420, suffixes to the second keyword 430, alternatives to eitheror both keywords 440, and alternatives to the TLD 450. In otherimplementations, the system may also generate and display possiblesuggested affixes (not shown) between the keywords “MEET” and“ADVISORS.”

As shown in the example in FIG. 4, the alternatives to the keyword“MEET” can include the alternative keyword “FOLLOW,” which representsthe one-step string sequence “FOLLOWADVISORS.COM.” As further shown inthe example in FIG. 4, the “FOLLOWADVISORS.COM” domain name is availablefor registration.

If the user clicks on the bolded word “FOLLOW,” as shown in FIG. 4, thegraphical user interface 100 can proceed to a fifth image in thesequence 510.

In other embodiments, the alternatives to the keywords 440 can bedisplayed within a list that allows a user to spin through the list byusing a vertically swiping motion (e.g., with the mouse or with a fingeron a touchscreen). In such embodiments, when the user vertically swipesthe list, a three-dimensional effect can be used to spin the alternativekeywords in the display, allowing the user to browse through thepossibilities before making a selection.

FIG. 5 illustrates an example of a graphical user interface 100 showingthe fifth image in the sequence 510, according to an embodiment. Thefifth image in the sequence can, in some embodiments, represent adynamically generated display presented to the user after the userclicks the word “FOLLOW,” as described above.

The dynamically generated display can include the current string“FOLLOWADVISORS.COM.” Additionally, the domain name “FOLLOWADVISORS.COM”may be available to be registered, as shown or indicated by the boldedletters.

In the example shown in FIG. 5, the input string can include twokeywords “FOLLOW” and “ADVISORS.” Accordingly, the dynamically generateddisplay can display the two keywords separately.

The dynamically generated display can also include prefixes to the firstkeyword 520, suffixes to the second keyword 530, alternatives to bothkeywords 540, and alternatives to the TLD 550.

As shown in the examples in FIGS. 1-5, a settings button 560 can bepresented in the graphical user interface 100. In the examples shown inFIGS. 1-5, the settings button 560 is indicated by a picture of a gearand is at the top of the display. However, in other embodiments, otherindications and placements of the settings button 560 can be used.

In this example, while the dynamically generated display shown in FIG. 5is presented, if the user clicks on the settings button 560, thegraphical user interface 100 can proceed to a sixth image in thesequence 610.

FIG. 6 illustrates an example of the graphical user interface 100showing the sixth image in the sequence 610, according to an embodiment.The sixth image in the sequence 610 can, in some embodiments, representa dynamically generated display presented to the user after the userclicks the settings button 560, as described above.

The dynamically generated display can include a “choose a language”selection box 620 that allows the user to select a language of domainname generation (e.g. English, Spanish, French, etc.). If the userselects a different language from a currently selected language, thedynamically generated display can update to include affixes andalternatives that correspond to the newly selected language.

The dynamically generated display can include a “similarity of spinningsuggestions” slider selector 630 that allows the user to select a valuecorresponding to the similarity of suggestions in the affixes andalternatives. For example, the higher this value is, the closer thesuggestions will be to the initial input. This can correspond to thecosine distance in the continuous vector space generated by theprojection layer of a neural network language model trained on domainname data.

The dynamically generated display can include an “include suggestionsleading to registered domains” checkbox 640 that allows the user toselect to display only available domain names or to display availableand unavailable domain names.

The dynamically generated display can include a “suggest affixes”checkbox 650 that allows the user to select whether to display affixesin the dynamically generated display.

The dynamically generated display can include a “suggest wordalternatives” checkbox 660 that allows the user to select whether todisplay alternative keywords in the dynamically generated display.

The dynamically generated display can include a “suggest TLDs” checkbox670 that allows the user to select whether to display alternative TLDsin the dynamically generated display.

The dynamically generated display can include a “segment input” checkbox680 that allows the user to select whether to separate the input stringinto keywords or to use the entire input string as one keyword.

As noted previously, the user may click on the settings button 560anytime it is displayed (e.g., in FIGS. 1-5) to produce a displaysimilar to that shown in FIG. 6.

FIG. 7 illustrates an example of a process for generating and displayingdomain name alternatives, according to an embodiment. In someembodiments, all or part of the example of a process can be performed bya computing device of a user who is attempting to find or determineavailable domain names and/or attempting to register a domain name(e.g., via a web browser application on a desktop device or a mobiledevice, via a mobile device application, etc.). In further embodiments,all or part of the example of a process can be performed by a computerdevice, such as a web server that has access to and/or maintains one ormore databases of domain name information (e.g., a domain name registryor a domain name registrar).

The process can begin in 700 when the computing device receives a TLDselection, for example from the user. In some embodiments, the TLDselection can be based on a default TLD displayed in the graphical userinterface presented to the user (e.g., .COM, as shown in FIG. 1). Inother embodiments, the user may select from a displayed list of TLDs.

In 710, the computing device can receive a current string. In someembodiments, the input string can include string input by the user via auser interface. The input string can be one or more characters, and canrepresent the input string being processed in 720-780. In variousembodiments, 720-780, described below, can be performed for each inputstring that is received from the user. In some embodiments, an inputstring can be received from the user each time the user enters acharacter. In other words, if the user enters the input string “MEET”one character at a time, 720-780 can be performed four times. 720-780can first be performed for the input string “M,” then for the inputstring “ME,” then for the input string “MEE,” and then for the inputstring “MEET.” In other embodiments, an input string can be receivedfrom the user each time the user enters new characters and then entersan end-of-string indicator, trigger signal, or character, for example,by pressing the enter key or the space key on a keyboard, clicking asearch button using a mouse icon or a touchscreen, and the like. Invarious embodiments, an input string can also be received from the userwhen the user pastes a string into the user interface.

In other embodiments and/or in subsequent iterations of 700-780, theinput string can be a one-step string sequence selected by the user thatthen becomes the new input string. In further embodiments and/or insubsequent iterations, the input string can be the result of deletingone or more keywords or characters from the previous input string orfrom dragging and dropping (e.g., pasting) keywords into differentpositions within the input string.

In 720, the computing device can tokenize the input string into one ormore keywords (for example, as shown in FIG. 4). For example, thecomputing device can tokenize the input string using natural languageprocessing algorithms and string tokenizers known in the relevant art.

In further embodiments, the input string can be tokenized, at leastpartially, by the user using an indicator, such as the space key, themouse cursor, the touchscreen, and the like.

In still further embodiments, the computing device can tokenize theinput string based on recognized personal names.

In 730, the computing device can determine alternatives to one or moreof the keyword(s) (for instance, as shown in FIG. 4). For example, thecomputing device can determine synonyms and other related words for eachkeyword using natural language toolkits known in the art and/or machinelearning algorithms trained using domain name registration data. In someembodiments, the computing device can determine alternatives using thesystems and methods described in: U.S. patent application Ser. No.13/048,340, entitled, “LOCALIZED AND CUTURAL DOMAIN NAME SUGGESTIONS”filed Mar. 15, 2011 and/or U.S. Pat. No. 8,768,935, entitled, “BIGRAMSUGGESTIONS” filed Oct. 10, 2011, the entireties of which is herebyincorporated by reference.

In 740, the computing device can determine affixes for one or morekeywords in the input string. In some embodiments, one or more prefixescan be determined for the first keyword in the input string and one ormore suffixes can be determined for the last keyword (or the same(first) keyword) in the input string, for example as shown in FIG. 4. Inother embodiments, affixes can additionally be determined betweenkeywords in the input string (i.e., an infix). The computing device candetermine affixes using, for example, natural language toolkits known inthe art and/or machine learning algorithms trained using domain nameregistration data. In some embodiments, the computing device candetermine affixes using the systems and methods described in: U.S. Pat.No. 9,065,794, entitled, “SYSTEMS AND METHODS FOR PROVIDING DOMAIN NAMESUGGESTIONS” filed Nov. 21, 2012, the entirety of which is herebyincorporated by reference.

In 750, the computing device can determine one or more TLDs related tothe current string. For example, the computing device can determine TLDsby accessing a predetermined list of known TLDs and identifying TLDsthat are similar to synonyms and other related words for keywords in theinput string using natural language toolkits known in the art and/ormachine learning algorithms trained using domain name registration data.

In 760, the computing device can determine one or more one-step stringsequences using the determined alternative keywords, affixes, and TLDs.For example, each affix can be individually added to the input stringand the input string plus the affix can represent a single one-stepstring sequence,

In 770, the computing device can determine the availability of one ormore domain names corresponding to each of the one-step string sequencesby accessing a database of domain name registration information. Forexample, the computing device can be or have access to a device thatmaintains domain name registry information. Accordingly, the computingdevice can generate a query associated with each one-step stringsequence to determine if the one-step string sequence is associated withan available domain name.

In 780, the computing device can generate a display for the userinterface that includes the input string, tokenized keywords, the TLD,the alternative keywords, the alternative TLDS, the affixes, and/orindications of domain name availability corresponding to the currentinput and/or to one-step string sequences based on the alternativekeywords, the alternative TLDs, and the affixes. In various embodiments,some or all of these elements may be fully or partially hidden from viewin the display. For example, the display may allow the user to hide oneor more of these elements (e.g., the user can hide alternative keywordsfor one or more of the keywords by pressing a hide suggestions button).As a further example, one or more of these elements may be initiallyhidden from view to conserve screen space (e.g., for the smaller displayof a mobile device), and the user can select to unhide one or moreelements, resulting in their inclusion in the display. As a furtherexample, one or more of these elements may be partially hidden from viewto conserve screen space (e.g., only a partial list of alternatives,affixes, etc. may be listed), and the user can scroll through theelement to reveal other parts of the element.

In some implementations, using the generated display, the user canselect a one-step string sequence by, for example, selecting a suggestedaffix, selected an alternative keyword, selecting a new TLD, deleting atoken, and the like. In other implementations, the user can change theinput string by, for example, deleting a keyword, rearranging thepositions of the keyword (e.g., using drag and drop functionality, asdescribed below), entering a new input string, and the like.

When the user selects a one-step string sequence and/or changes thecurrent string, the process can proceed back to 710 and a subsequentiteration of 710-780 can be performed.

In various instances, the input string may correspond to an availabledomain name, and the user can end the process by supplying an indicationvia the user interface to register the available domain name.Subsequently, the user interface can be navigated to a webpage thatallows the user to register the domain name (e.g., a webpage associatedwith a domain name registry or a domain name registrar), and the domainname can be registered at a domain name registry.

FIG. 8 illustrates an example of a graphical user interface 800 showinga first image in a sequence 810, according to an embodiment. The firstimage in the sequence 810 can, in some embodiments, represent an initialdisplay presented to a user with a default TLD 820 (e.g. .COM, as shown)and an input string box 830. The user can select to change the TLDand/or the user can begin entering an input string on the blank inputstring line 830. In various embodiments, the system may dynamically andsequentially change the images displayed on the graphical user interface800 (for example, as shown in FIGS. 8-13) in response to the pressing ofan enter key or the use of a mouse cursor to click a search button 840.

FIG. 9 illustrates an example of the graphical user interface 800showing a second image in a sequence 910, according to an embodiment.The second image in the sequence 910 can, in some embodiments, representa display presented to a user after an input string is entered in theinput string box 830 (e.g., “DOGWALKER” as shown in FIG. 9) and beforethe user presses the enter key or uses a mouse cursor to click thesearch button 840. Accordingly, other than the text in the input stringbox 830, the system may not have changed the images displayed on thegraphical user interface 800.

FIG. 10 illustrates an example of the graphical user interface 800showing a third image in a sequence 1010, according to an embodiment.The third image in the sequence 1010 can, in some embodiments, representa dynamically generated display presented to the user after an inputstring is entered into the input string box 830 (e.g., “DOGWALKER,” asshown in FIG. 10), for example by pressing the enter key or clicking thesearch button 840.

The dynamically generated display can include the input string“DOGWALKER.” Accordingly, “DOGWALKER.COM” may be the current string.Additionally, the domain name “DOGWALKER.COM” may not be available to beregistered, which is indicated by the “not available” indicator 1020 inthe embodiment shown in FIG. 10. In further embodiments, other methodsof indicating a domain name is available or not available can include,but are not limited to, displaying an error message, displaying anindication that the domain name is available, displaying the currentstring in a particular color (e.g., green), and the like. Someimplementations may also include aural indicators.

In the embodiment shown in FIG. 10, the input string “DOGWALKER” mayhave been tokenized into two keywords, “DOG” and “WALKER.” For example,the input string may be tokenized by recognizing that the input stringcontains two words that were found in an English dictionary (otherlanguages may be used in various embodiments), recognizing that theinput string contains words that are in a predetermined list, and thelike.

The dynamically generated display can also include suggested affixes(e.g., prefixes 1030 and suffixes 1040) for the keyword(s), alternativesto the tokens that make up the keyword 1050, and alternatives to the TLD1060.

As shown in the example in FIG. 10, the prefixes 1030 are displayedbefore the keywords, e.g., displayed below and starting to the left ofthe input string box 830. In this example, some of the one-step stringsequences using the prefixes 1030 are available for registration asdomain names, such as “MADDOGWALKER.COM” and “ALPHADOGWALKER.COM.” In amanner similar to that explained with respect to FIGS. 1-6 above, thisis indicated by the bolder/darker color of the text in the example ofFIG. 10, but can be indicated using other techniques, as describedabove. Additionally, some of the one-step string sequences using theprefixes 1030 are not available for registration, as indicated in thisexample by their light color and the dashed outline of their letters. Inthis example, the graphical user interface 800 shown indicates that thedomain names “BIGDOGWALKER.COM,” “THEDOGWALKER.COM,”“HAPPYDOGWALKER.COM,” etc. are not available.

As also shown in the example in FIG. 10, the suffixes 1040 are displayedafter the keywords e.g., displayed below and toward the right of theinput string box 830. In this example, some of the one-step sequencesthat employ one of the suffixes 1040 are available, such as“DOGWALKERRANCH.COM” and “DOGWALKERPHOTOGRAPHY.COM,” and one of theone-step sequences that employs one of the suffixes 1040 is notavailable: “DOGWALKERTRAINING.COM.”

As further shown in the example in FIG. 10, suggested alternatives tothe first keyword, “DOG,” are displayed under or approximately under thefirst keyword (e.g., displayed below and toward the left end of theinput string box 830) and one is available for registration,“KITTENWALKER.COM.” Other suggested alternatives to the first keyword,“DOG” are not available, such as “DOGGIEWALKER.COM” and“KITTYWALKER.COM.”

As also shown in the example in FIG. 10, suggested alternatives to thesecond keyword, “WALKER,” are displayed under or approximately under thesecond keyword (e.g., displayed below and toward the right end of theinput string box 830) and one is available for registration,“DOGWALLER.COM.” Other suggested alternatives to the second keyword,“WALKER” are not available, such as “DOGRUNNER.COM” and “DOGWALK.COM.”

As additionally shown in the example in FIG. 10, the alternatives to theTLD 1060 are displayed under or approximately under the TLD from thecurrent string (e.g., displayed below and to the right of the inputstring box 830). In this example, some of the one-step string sequencesusing the alternative TLDs 1060 are available for registration as domainnames, such as “DOGWALKER.CC” and “DOGWALKER.TV.” One one-step stringsequence using an alternative TLD is not available for registration as adomain name: “DOGWALKER.NET.”

As also depicted in FIG. 10, the graphical user interface 800 caninclude an “x” icon in each of the keyword boxes 1050 that contain acurrent keyword. In some embodiments, if the user clicks the “x” icon,the corresponding keyword can be removed from the graphical userinterface 800, the input string displayed in the input string box 830can be updated by removing the part of the input string that correspondsto the removed keyword, and the availability of the domain name(s)containing the input string and the one-step string sequences can beupdated and displayed accordingly.

As further depicted in FIG. 10, the graphical user interface 800 caninclude an “{circumflex over ( )}” icon below each of the keyword boxes1050 and the “add a prefix” and the “add a suffix” boxes. In someembodiments, if the user clicks the “{circumflex over ( )}” icon theone-step string sequences above the “{circumflex over ( )}” icon can beremoved and/or hidden from view in the graphical user interface 800.

FIG. 11 illustrates an example of the graphical user interface 1100showing a first image in a sequence 1110, according to an embodiment.The first image in the sequence 1110 can, in some embodiments, representa dynamically generated display presented to the user after an inputstring is entered into an input string box 1120 (e.g.,“HAPPYDOGWALKER”).

The dynamically generated display can include the input string“HAPPYDOGWALKER.” Accordingly, “HAPPYDOGWALKER.COM” may be the currentstring. Additionally, the domain name “HAPPYDOGWALKER.COM” may not beavailable to be registered, which is indicated by the “not available”indicator 1130 in the embodiment shown in FIG. 11.

In the embodiment shown in FIG. 11, the input string “HAPPYDOGWALKER”may have been tokenized into three keywords, “HAPPY,” “DOG,” and“WALKER.” For example, the input string may be tokenized by recognizingthat the input string contains three dictionary words, recognizing thatthe input string contains words that are in a predetermined list, andthe like.

The dynamically generated display can also include suggested affixes(e.g., prefixes 1140 and suffixes 1150) to the keyword(s), alternativesto the keyword(s) 1160, and alternatives to the TLD 1170.

As described above in other embodiments, some of the one-step stringsequences using the prefixes 1140, affixes 1150, and alternatives 1160may be available to register as a domain name, as indicated in thisexample by the bolder/darker color of the text, and some of the one-stepstring sequences may not be available, as indicated in this example bytheir light color and the dashed outline of their letters. For example,the suggested alternative “LUCKY” to the first keyword, “HAPPY” is notavailable: “LUCKYDOGWALKER.COM.”

As shown in FIG. 11, the keywords may be displayed in boxes that includean icon with three vertical dots. In this example, the “HAPPY” keywordbox and the “WALKER” keyword box include this icon. This icon canindicate that the boxes can be dragged and dropped. In otherembodiments, different icons can be used to indicate that the boxes canbe dragged and dropped or otherwise moved.

As further shown in FIG. 11, the mouse icon 1180 may appear whenhovering over the “DOG” keyword box, and the user may be pressing amouse button, which can result in the three vertical dots icon changingto a horizontal line with a circular icon in the middle. This icon canindicate that the user can now drag and drop the “DOG” keyword box bymoving the mouse cursor. In other embodiments, different icons or noicons at all can be used to indicate that the boxes can be dragged anddropped by moving the mouse icon 1180.

FIG. 12 illustrates an example of the graphical user interface 1100showing a second image in a sequence 1210, according to an embodiment.The second image in the sequence 1210 can, in some embodiments,represent a dynamically generated display presented to the user after aninput string is entered into the input string box 1120 (e.g.,“HAPPYDOGWALKER”) and after the user begins to drag the “DOG” keywordbox to the left.

In the embodiment shown in FIG. 12, the keywords and the one-step stringsequences have not changed from FIG. 11. This can be because the user isin the process of dragging the “DOG” keyword box to the left over the“HAPPY” keyword box, and has not yet dropped or otherwise sufficientlymoved the “DOG” keyword box into a selected location.

FIG. 13 illustrates an example of the graphical user interface 1100showing a third image in a sequence 1310, according to an embodiment.The third image in the sequence 1310 can, in some embodiments, representa dynamically generated display presented to the user after the user hasplaced the “DOG” keyword box into a new location, in this example, tothe left of the “HAPPY” keyword box, and/or dropped the “DOG” keywordbox into the new location.

In the embodiment shown in FIG. 13, the user may have only dragged the“DOG” keyword box into the new location by holding down a mouse buttonand moving the mouse icon 1180. This is indicated by the icon in the“DOG” keyword box remaining as the horizontal line with the circularicon in the middle. In other embodiments, different icons or no icons atall can be used to indicate that the boxes can be dragged and dropped bymoving the mouse icon 1180. Based on moving the “DOG” keyword box to thenew location, the new keyword is “DOGHAPPYWALKER,” as shown in the inputstring box 1120, and the domain name “DOGHAPPYWALKER.COM” may beavailable to be registered as a domain name, which is indicated by the“register now” indicator 1320 in the embodiment shown in FIG. 13.

Additionally, based on moving the “DOG” keyword box to the new location,the one-step string sequences may be updated from the one-step stringsequences shown in FIGS. 11-12. For example, the alternative “LUCKY”under the “HAPPY” keyword box now indicates that the one-step stringsequence is available, when the alternative “LUCKY” was not available inFIGS. 11-12. This can be because the domain name “LUCKYDOGWALKER.COM”may be not available, while the domain name “DOGLUCKYWALKER” isavailable.

In some embodiments, the availability of the current string and theone-step string sequences may be updated simply by moving the keywordbox to the new location, while, in other embodiments, the availabilitiesmay not be updated until the user drops the keyword box into place byreleasing the mouse button after moving the keyword box to the newlocation.

FIGS. 11-13 depict the user dragging a keyword box to the left oneposition. However, in other embodiments, the user may drag the keywordbox to the right and/or may drag the keyword box two or more positions.As a result, the availability of the current string and the one-stepstring sequences can be updated accordingly, similar to the processdescribed above for FIGS. 11-13.

FIG. 14 illustrates an example of a graphical user interface of a mobiledevice 1400 showing a first image in a sequence 1410, according to anembodiment. The first image in the sequence 1410 can, in someembodiments, represent an initial display presented to a user with adefault TLD 1420 (e.g. .COM, as shown) and a blank input string box1430. The user can select to change the TLD and/or the user can beginentering an input string on the input string box 1430 (e.g., using atouchscreen keyboard, voice-to-text, etc.). In various embodiments, thesystem may dynamically and sequentially change the images displayed onthe graphical user interface (for example, as shown in FIGS. 14-26) inresponse to the user pressing an enter key (e.g., using the touchscreenkeyboard) or using a touchscreen to click a search button 1440.

FIG. 15 illustrates an example of the graphical user interface of themobile device 1400 showing a second image in a sequence 1510, accordingto an embodiment. The second image in the sequence 1510 can, in someembodiments, represent a display presented to a user after an inputstring is entered and before the user presses the enter key or uses atouchscreen to click the search button 1440. Accordingly, the system maynot have changed the images displayed on the graphical user interface.

FIG. 16 illustrates an example of the graphical user interface of themobile device 1400 showing a third image in a sequence 1610, accordingto an embodiment. The third image in the sequence 1610 can, in someembodiments, represent a dynamically generated display presented to theuser after an input string is entered into the input string box 1430(e.g., “DOGWALKER,” as shown in FIG. 16).

The dynamically generated display can include the input string“DOGWALKER.” Accordingly, “DOGWALKER.COM” may be the current string.Additionally, the domain name “DOGWALKER.COM” may not be available to beregistered, which is indicated by the “not available” indicator 1620 inthe embodiment shown in FIG. 16. In further embodiments, other methodsof indicating a domain name is available or not available can include,but are not limited to, displaying an error message, displaying anindication that the domain name is available, displaying the currentstring in a particular color (e.g., green), and the like. Someimplementations may also include aural indicators.

In the embodiment shown in FIG. 16, the input string “DOGWALKER” hasbeen tokenized into two keywords, “DOG” and “WALKER.” For example, theinput string may be tokenized by recognizing that the input stringcontains two dictionary words, recognizing that the input stringcontains words that are in a predetermined list, and the like.

The dynamically generated display can also include an add prefixesbutton 1630 and an add suffixes button 1640, which, when pressed (e.g.,using a touchscreen) can result in a dynamically generated display ofsuggested affixes (e.g., prefixes and suffixes) to the keyword. In someembodiments, the add prefixes button 1630 or the add suffixes button1640 may not be included in the dynamically generated display, and,instead, the dynamically generated display can include a list, which maybe partial, of suggested prefixes and/or suggested suffixes (e.g., asshown in FIG. 21).

The dynamically generated display can also include other options buttons1650 next to each of the keyword boxes (e.g., the boxes for “DOG” and“WALKER” in FIG. 16). The other options buttons 1650 can, when pressed(e.g., using a touchscreen) result in a dynamically generated display ofsuggested alternatives to the keywords.

The dynamically generated display can also include a button 1660 toallow the display of alternatives to the TLD.

FIG. 17 illustrates an example of a graphical user interface of themobile device 1400 showing a first image in a sequence 1710, accordingto an embodiment. The first image in the sequence 1710 can, in someembodiments, represent a dynamically generated display presented to theuser after an input string is entered into an input string box 1720(e.g., “HAPPYDOGWALKER”).

The dynamically generated display can include the input string“HAPPYDOGWALKER.” Accordingly, “HAPPYDOGWALKER.COM” may be the currentstring. Additionally, the domain name “HAPPYDOGWALKER.COM” may not beavailable to be registered, which is indicated by the “not available”indicator 1730 in the embodiment shown in FIG. 17.

In the embodiment shown in FIG. 17, the input string “HAPPYDOGWALKER”has been tokenized into three keywords, “HAPPY,” “DOG,” and “WALKER.”For example, the input string may be tokenized by recognizing that theinput string contains three dictionary words, recognizing that the inputstring contains words that are in a predetermined list, and the like.

As shown in FIG. 17, the keywords may be displayed in boxes 1740. Asfurther shown in FIG. 17, a touchscreen icon 1750 may be hovering overthe “DOG” keyword box, and the user may have his/her finger pressedagainst the touchscreen over the “DOG” keyword box, which can result thetouchscreen icon 1750 being presented on the graphical user interface.The touchscreen icon 1750 can indicate that the user can now drag anddrop the “DOG” keyword box by moving his/her finger. In otherembodiments, different icons or no icons at all can be used to indicatethat the boxes can be dragged and dropped.

FIG. 18 illustrates an example of the graphical user interface of themobile device 1400 showing a second image in a sequence 1810, accordingto an embodiment. The second image in the sequence 1810 can, in someembodiments, represent a dynamically generated display presented to theuser after an input string is entered into the input string box 1720(e.g., “HAPPYDOGWALKER”) and after the user begins to drag the “DOG”keyword box up.

In the embodiment shown in FIG. 18, the input string is still displayedas “HAPPYDOGWALKER” and may not have changed from FIG. 17. This can bebecause the user is in the process of dragging the “DOG” keyword box upover the “HAPPY” keyword box, and has not yet dropped or otherwise movedthe “DOG” keyword box into a selected location.

FIG. 19 illustrates an example of the graphical user interface of themobile device 1400 showing a third image in a sequence 1910, accordingto an embodiment. The third image in the sequence 1910 can, in someembodiments, represent a dynamically generated display presented to theuser after the user has placed the “DOG” keyword box into a newlocation, in this example, above the “HAPPY” keyword box, and/or droppedthe “DOG” keyword box into the new location.

In the embodiment shown in FIG. 19, the user may have dragged the “DOG”keyword box into the new location by touching his/her finger against thetouchscreen and moving his/her finger. This is indicated by thetouchscreen icon 1750 in the “DOG” keyword box remaining on thegraphical user interface. Based on moving the “DOG” keyword box to thenew location, the new input string is “DOGHAPPYWALKER,” as shown in theinput string box 1720, and the domain name “DOGHAPPYWALKER.COM” may beavailable to be registered, which is indicated by the “register now”indicator 1920 in the embodiment shown in FIG. 19.

In some embodiments, the availability of the current string may beupdated simply by moving the keyword box to the new location, while, inother embodiments, the availability may not be updated until the userdrops the keyword box into place by removing his/her finger from thetouchscreen after moving the keyword box to the new location.

FIGS. 17-19 depict the user dragging a keyword box up one position.However, in other embodiments, the user may drag the keyword box downand/or may drag the keyword box two or more positions. As a result, thedisplayed current string and the availability of the current string canbe updated accordingly, similar to the process described above for FIGS.17-19.

FIG. 20 illustrates an example of a graphical user interface of themobile device 1400 showing a first image in a sequence 2010, accordingto an embodiment. The first image in the sequence 2010 can, in someembodiments, represent a dynamically generated display presented to theuser after an input string is entered into an input string box 2020(e.g., “DOGWALKER”).

The dynamically generated display can include the input string“DOGWALKER.” Accordingly, “DOGWALKER.COM” may be the current string.Additionally, the domain name “DOGWALKER.COM” may not be available to beregistered, which is indicated by the “not available” indicator 2030 inthe embodiment shown in FIG. 20.

In the embodiment shown in FIG. 20, the input string “DOGWALKER” mayhave been tokenized into two keywords, “DOG” and “WALKER.” For example,the input string may be tokenized by recognizing that the input stringcontains two dictionary words, recognizing that the input stringcontains words that are in a predetermined list, and the like.

As shown in FIG. 20, the keywords may be displayed in boxes 2040. Asfurther shown in FIG. 20, the graphic user interface can include an addprefix icon or control 2050 and an add suffix icon or control 2060. Inother embodiments, different controls or icons can be used to indicatethat the prefixes and suffixes can be added by the user pressing his/herfinger against the touchscreen.

FIG. 21 illustrates an example of the graphical user interface of themobile device 1400 showing a second image in a sequence 2110, accordingto an embodiment. The second image in the sequence 2110 can, in someembodiments, represent a dynamically generated display presented to theuser after an input string is entered into an input string box 2120(e.g., “DOGWALKER”) and after the user has activated (e.g., pressed andreleased) the add prefix icon 2050, shown in FIG. 20, using atouchscreen of the mobile device 1400.

The dynamically generated display can include a list, which may bepartial, of suggested prefixes 2130. In this example, some of theone-step string sequences using the prefixes are available forregistration as domain names, such as “MADDOGWALKER.COM” and“ALPHADOGWALKER.COM.” This is indicated by the bolder/darker color ofthe text in the example of FIG. 21, but can be indicated using othertechniques, as described above. Additionally, some of the one-stepstring sequences using the prefixes are not available for registration,as indicated in this example by their light color and the dashed outlineof their letters. In other words, the graphical user interface shownindicates that the domain names “BIGDOGWALKER.COM” and“THEDOGWALKER.COM” are not available.

As further shown in FIG. 21, a touchscreen icon 2140 may be hoveringover the partial list of suggested prefixes 2130, and the user may havehis/her finger pressed against the touchscreen over the icon, which canresult the touchscreen icon 2140 being presented on the graphical userinterface. The touchscreen icon 2140 may indicate that the user canscroll through the partial list of suggested prefixes 2130 to allow theuser to view all of the suggested prefixes that are generated. In otherembodiments, different icons can be used to indicate that the user canscroll through the partial list of suggested prefixes 2130 and that theuser has his/her finger pressed against the touchscreen. In furtherembodiments, the user can scroll through the partial list by swiping onthe touchscreen (e.g., swiping left to scroll the list to the right),and no scrolling icon may be displayed.

FIG. 22 illustrates an example of the graphical user interface of themobile device 1400 showing a third image in a sequence 2210, accordingto an embodiment. The third image in the sequence 2210 can, in someembodiments, represent a dynamically generated display presented to theuser after an input string is entered into the input string box 2120(e.g., “DOGWALKER”), after the user has scrolled to the right in thepartial list of suggested prefixes 2220, shown in FIG. 21, and after theuser has removed their finger from the touchscreen of a mobile device.

The dynamically generated display can include a second partial list ofsuggested prefixes 2220 that is different from the partial list ofsuggested prefixes 2130 shown in FIG. 21 because the user scrolledthrough the list using the touchscreen.

As further shown in FIG. 22, the second partial list of suggestedprefixes 2220 includes the prefix “ALPHA.” As indicated by thebolder/darker color, the one-step string sequence “ALPHADOGWALKER.COM”is available for registration as a domain name.

FIG. 23 illustrates an example of the graphical user interface of themobile device 1400 showing a fourth image in a sequence 2310, accordingto an embodiment. The fourth image in the sequence 2310 can, in someembodiments, represent a dynamically generated display presented to theuser after an input string is entered into the input string box 2120(e.g., “DOGWALKER”), after the user has scrolled to the right in thepartial list of suggested prefixes (from 2130 in FIGS. 21 to 2220 inFIG. 22), and after the user has selected the prefix “ALPHA” from thepartial list of suggested prefixes 2220, shown in FIG. 22.

The dynamically generated display can include the current string“ALPHADOGWALKER.COM.” Accordingly, “ALPHADOGWALKER” now represents theinput string. Additionally, the domain name “ALPHADOGWALKER.COM” may beavailable to be registered, which is indicated by the “register now”indicator 2320 in the embodiment shown in FIG. 23.

FIGS. 20-23 depict the user adding a prefix to the current string.However, in other embodiments, the user may add a suffix or an infixusing a process similar to the process described above for FIGS. 20-23.

FIG. 24 illustrates an example of a graphical user interface of themobile device 1400 showing a first image in a sequence 2410, accordingto an embodiment. The first image in the sequence 2410 can, in someembodiments, represent a dynamically generated display presented to theuser after an input string is entered into an input string box 2420(e.g., “DOGWALKER”).

The dynamically generated display can include the input string“DOGWALKER.” Accordingly, “DOGWALKER.COM” may be the current string.Additionally, the domain name “DOGWALKER.COM” may not be available to beregistered, which is indicated by the “not available” indicator 2430 inthe embodiment shown in FIG. 24.

In the embodiment shown in FIG. 24, the input string “DOGWALKER” mayhave been tokenized into two keywords, “DOG” and “WALKER.” For example,the input string may be tokenized by recognizing that the input stringcontains two dictionary words, recognizing that the input stringcontains words that are in a predetermined list, and the like.

As shown in FIG. 24, the keywords may be displayed in boxes 2440. Asfurther shown in FIG. 24, the graphical user interface may include another options box 2450 next to the “DOG” keyword box and an otheroptions box 2460 next to the “WALKER” keyword box.

FIG. 25 illustrates an example of the graphical user interface of themobile device 1440 showing a second image in a sequence 2510, accordingto an embodiment. The second image in the sequence 2510 can, in someembodiments, represent a dynamically generated display presented to theuser after an input string is entered into the input string box 2420(e.g., “DOGWALKER”) and after the user has pressed and released, orotherwise activated, the other options box 2450, shown in FIG. 24, usinga touchscreen of the mobile device 1400.

The dynamically generated display can include a list, which may bepartial, of suggested alternatives 2520 to the “DOG” keyword token. Inthis example, the one-step string sequence using the alternative “PUPPY”is available for registration as a domain name, “PUPPYWALKER.COM.” Thisis indicated by the bolder/darker color of the text in the example ofFIG. 25, but can be indicated using other techniques, as describedabove. Additionally, some of the one-step string sequences using thealternatives are not available for registration, as indicated in thisexample by their light color and the dashed outline of their letters. Inother words, the graphical user interface shown indicates that thedomain names “DOGGIEWALKER.COM” and “PETWALKER.COM” are not available.

As further shown in FIG. 25, a touchscreen icon 2530 may be hoveringover the partial list of suggested alternatives 2520, and the user mayhave his/her finger pressed against the touchscreen over the touchscreenicon 2530, which can result in the addition of the touchscreen icon2530. The touchscreen icon 2530 may indicate that the user can scrollthrough the partial list of suggested alternatives 2520 to allow theuser to view all of the suggested alternatives that are generated. Inother embodiments, different icons can be used to indicate that the usercan scroll through the partial list of suggested alternatives 2520 andthat the user has his/her finger pressed against the touchscreen, etc.In some embodiments, the user will scroll through the partial list byswiping on the touchscreen (e.g., swiping left to scroll the list to theright) and no scrolling icon may be displayed.

FIG. 26 illustrates an example of the graphical user interface of themobile device 1400 showing a third image in a sequence 2610, accordingto an embodiment. The third image in the sequence 2610 can, in someembodiments, represent a dynamically generated display presented to theuser after an input string is entered into the input string box 2420(e.g., “DOGWALKER”), after the user has scrolled to the right in thepartial list of suggested alternatives 2520, shown in FIG. 25, and afterthe user has removed their finger from the touchscreen of a mobiledevice.

The dynamically generated display can include a second partial list ofsuggested alternatives 2620 that is different from the partial list ofsuggested alternatives 2520 shown in FIG. 25 because the user scrolledthrough the list using the touchscreen.

As further shown in FIG. 26, the touchscreen icon 2530 may be hoveringover the alternative word “PUPPY,” and the user may have his/her fingerpressed against the touchscreen over the touchscreen icon 2530, whichcan result in the touchscreen icon 2530 remaining on the display. Underthe touchscreen icon 2530, the alternative “PUPPY” can be selected bythe user, which corresponds to the one-step string sequence“PUPPYWALKER.COM.” As indicated by the bolder/darker color, thisone-step string sequence may be available for registration.

FIG. 27 illustrates an example of the graphical user interface of themobile device 1400 showing a fourth image in a sequence 2710, accordingto an embodiment. The fourth image in the sequence 2710 can, in someembodiments, represent a dynamically generated display presented to theuser after an input string is entered into the input string box 2420(e.g., “DOGWALKER”), after the user has scrolled to the right in thepartial list of suggested alternatives (from 2520 in FIGS. 25 to 2620 inFIG. 26), and after the user has selected the alternative “PUPPY” fromthe partial list of suggested alternatives 2620, shown in FIG. 26.

The dynamically generated display can include the current string“PUPPYWALKER.COM.” Accordingly, “PUPPYWALKER” now represents the inputstring. Additionally, the domain name “PUPPYWALKER.COM” may be availableto be registered, which is indicated by the “register now” indicator2720 in the embodiment shown in FIG. 27.

FIG. 28 is a diagram illustrating an example of a hardware system thatis suitable for domain name generation, consistent with certaindisclosed embodiments. An example hardware system 2800 includes examplesof system components that may be used. The components and arrangement,however, may be varied.

Computer 2801 may include processor 2810, memory 2820, storage 2830, andinput/output (I/O) devices (not pictured). The computer 2801 may beimplemented in various ways and can be configured to perform any of theembodiments described above. In some embodiments, computer 2801 can be acomputer of an end-user such as, for example, a desktop computer, alaptop, a mobile device (e.g., a smartphone or a tablet device), etc. Inother embodiments, computer 2801 can be a networked computing devicesuch as, for example, a database server (e.g., a domain name registryand/or name server), a web server, a mainframe computer, etc. Computer2801 may be standalone or may be part of a subsystem, which may, inturn, be part of a larger system.

The processor 2810 may include one or more known processing devices,such as a microprocessor from the Intel Core™ family manufactured byIntel™, the Phenom™ family manufactured by AMD™, or the like. Memory2820 may include one or more storage devices configured to storeinformation and/or instructions used by processor 2810 to performcertain functions and operations related to the disclosed embodiments.Storage 2830 may include a volatile or non-volatile, magnetic,semiconductor, tape, optical, removable, non-removable, or other type ofcomputer-readable medium used as a storage device, including varioustypes of non-transitory computer-readable media. In some embodiments,storage 2830 can include, for example, domain name records.

In an embodiment, memory 2820 may include one or more programs orsubprograms including instructions that may be loaded from storage 2830or elsewhere that, when executed by computer 2801, perform variousprocedures, operations, or processes consistent with disclosedembodiments. For example, memory 2820 may include a domain namegeneration program 2825 for providing a graphical user interface,receiving user input, tokenizing strings into keywords, determiningalternative keywords, determining affixes, determining alternative TLDs,determining one-step string sequences, determining availability ofdomain names associated with current strings and/or one-step stringsequences, generating dynamic displays corresponding to generated domainnames, etc. Memory 2820 may also include other programs that performother functions, operations, and processes, such as programs thatprovide communication support, Internet access, etc. The domain namegeneration program 2825 may be embodied as a single program, oralternatively, may include multiple sub-programs that, when executed,operate together to perform the function of the domain name generationprogram 2825 according to disclosed embodiments. In some embodiments,domain name generation program 2825 can perform all or part of theprocess of FIG. 7, described above, and/or provide the graphical userinterfaces shown in FIGS. 1-6 and 8-27, described above.

Computer 2801 may communicate over a link with network 2840. Forexample, the link may be a direct communication link, a local areanetwork (LAN), a wide area network (WAN), or other suitable connection.Network 2840 may include the Internet, as well as other networks, whichmay be connected to various systems and devices.

Computer 2801 may include one or more input/output (I/O) devices (notpictured) that allow data to be received and/or transmitted by computer2801. I/O devices may also include one or more digital and/or analogcommunication I/O devices that allow computer 2801 to communicate withother machines and devices. I/O devices may also include input devicessuch as a keyboard or a mouse, and may include output devices such as adisplay or a printer. Computer 2801 may receive data from externalmachines and devices and output data to external machines and devicesvia I/O devices. The configuration and number of input and/or outputdevices incorporated in I/O devices may vary as appropriate for variousembodiments.

Examples of uses of the system 2800 can be described by way of examplewith reference to the embodiments described above

The present disclosure is not to be limited in terms of the particularembodiments described in this application, which are intended asillustrations of various aspects. Many modifications and variations canbe made without departing from its spirit and scope, as will be apparentto those skilled in the art. Functionally equivalent methods andapparatuses within the scope of the disclosure, in addition to thoseenumerated herein, will be apparent to those skilled in the art from theforegoing descriptions. Such modifications and variations are intendedto fall within the scope of the appended claims. The present disclosureis to be limited only by the terms of the appended claims, along withthe full scope of equivalents to which such claims are entitled. It isalso to be understood that the terminology used herein is for thepurpose of describing examples of implementations, and is not intendedto be limiting.

With respect to the use of substantially any plural and/or singularterms herein, those having skill in the art can translate from theplural to the singular and/or from the singular to the plural as isappropriate to the context and/or application. The varioussingular/plural permutations may be expressly set forth herein for sakeof clarity.

It will be understood by those within the art that, in general, termsused herein, and especially in the appended claims (e.g., bodies of theappended claims) are generally intended as “open” terms (e.g., the term“including” should be interpreted as “including but not limited to,” theterm “having” should be interpreted as “having at least,” the term“includes” should be interpreted as “includes but is not limited to,”etc.). It will be further understood by those within the art that if aspecific number of an introduced claim recitation is intended, such anintent will be explicitly recited in the claim, and in the absence ofsuch recitation no such intent is present. For example, as an aid tounderstanding, the following appended claims may contain usage of theintroductory phrases “at least one” and “one or more” to introduce claimrecitations. However, the use of such phrases should not be construed toimply that the introduction of a claim recitation by the indefinitearticles “a” or “an” limits any particular claim containing suchintroduced claim recitation to embodiments containing only one suchrecitation, even when the same claim includes the introductory phrases“one or more” or “at least one” and indefinite articles such as “a” or“an” (e.g., “a” and/or “an” should be interpreted to mean “at least one”or “one or more”); the same holds true for the use of definite articlesused to introduce claim recitations. In addition, even if a specificnumber of an introduced claim recitation is explicitly recited, thoseskilled in the art will recognize that such recitation should beinterpreted to mean at least the recited number (e.g., the barerecitation of “two recitations,” without other modifiers, means at leasttwo recitations, or two or more recitations). Furthermore, in thoseinstances where a convention analogous to “at least one of A, B, and C,etc.” is used, in general such a construction is intended in the senseone having skill in the art would understand the convention (e.g., “asystem having at least one of A, B, and C” would include but not belimited to systems that have A alone, B alone, C alone, A and Btogether, A and C together, B and C together, and/or A, B, and Ctogether, etc.). In those instances where a convention analogous to “atleast one of A, B, or C, etc.” is used, in general such a constructionis intended in the sense one having skill in the art would understandthe convention (e.g., “a system having at least one of A, B, or C” wouldinclude but not be limited to systems that have A alone, B alone, Calone, A and B together, A and C together, B and C together, and/or A,B, and C together, etc.). It will be further understood by those withinthe art that virtually any disjunctive word and/or phrase presenting twoor more alternative terms, whether in the description, claims, ordrawings, should be understood to contemplate the possibilities ofincluding one of the terms, either of the terms, or both terms. Forexample, the phrase “A or B” will be understood to include thepossibilities of “A” or “B” or “A and B.” In addition, where features oraspects of the disclosure are described in terms of Markush groups,those skilled in the art will recognize that the disclosure is alsothereby described in terms of any individual member or subgroup ofmembers of the Markush group.

While various aspects and embodiments have been disclosed herein, otheraspects and embodiments will be apparent to those skilled in the art.The various aspects and embodiments disclosed herein are for purposes ofillustration and are not intended to be limiting, with the true scopeand spirit being indicated by the following claims.

What is claimed is:
 1. A system comprising: a processor; and acomputer-readable medium, wherein the computer-readable medium containinstructions that, when executed by the processor, cause the processorto perform operations comprising: receiving an input string via a userinterface; determining an alternative of the input string; determiningaffixes of the input string; determining top level domains associatedwith the input string; determining registration availability of domainnames comprising one-step string sequences from the input string basedon the alternative of the input string, the affixes of the input string,and the top level domains associated with the input string; andgenerating a display for the user interface, wherein the displaycomprises: the input string, the alternative of the input string, theaffixes of the input string, and the top level domains associated withthe input string; and indications of the registration availability ofthe domains names comprising the one-step string sequences.